Bases de Datos en Delphi 7 – Conexión a bases de datos MySQL (página 2)
Elija el controlador MyODBC y cliquee el botón
Finalizar.
A continuación llene los datos
correspondientes a la agenda en la pantalla de
configuración MyODBC:
- Nombre de nuestra conexión ODBC (Data Source
Name): agenda - Nombre del servidor
(Host/Server name (IP): se
puede colocar el nombre de la PC local (localhost), el nombre
de un equipo remoto que contenga el administrador
MySQL o la
dirección IP. Para nuestro caso
será: localhost - Nombre de la base de
datos (Database name): agenda - Nombre del usuario (User): root
- Password: en el caso de que el usuario la tenga
(muy recomendable)
La configuración debe quedar como muestra la
figura
Para asegurarse que todo se realizó correctamente
presione el botón Test Data Source y el puente ODBC
le informará si la conexión con la base de datos es
satisfactoria.
Un
formulario ODBC
Ejecute Delphi 7. En
un formulario vacío coloque los siguientes
componentes:
- Un panel con la alineación (Align) en
Top. - Dentro del panel un TDBNavigator
- Un botón: Name: Control,
Caption: Abrir - Un botón TbitBtn: Name:Cerrar, Kind:
bkClose, Caption: Cerrar - Un TDBGrid con alineación (Align)
AllClient - De la pestaña ADO seleccione un TTable y
modifique las siguientes propiedades
Name: Tabla
Connectionstring: Provider=MSDASQL.1;Persist Security
Info=False;User ID=root;Data Source=agenda
TableName: myagenda
- De la pestaña DataAccess seleccione el
componente TDataSource. Asocie el DataSet con la
Tabla - Actualice los DataSource del DBNavigator y DBGrid
con el TDataSource.
Para comprobar que todo está correcto, modifique
la propiedad
Active del TTable a True y verá en el DBGrid la estructura de
la agenda creada anteriormente.
El formulario terminado deberá verse como en la
figura:
Compile el formulario y ejecute su
aplicación
Para que la misma sea funcional debe escribir algo de
código:
Cliquee en el formulario el botón Abrir y
en el editor de código escriba lo siguiente:
procedure TForm1.ControlClick(Sender:
TObject);
begin
If Control.Caption='Abrir' then
begin
Control.Caption := 'Cerrar';
Tabla.Open;
end
Else
begin
Control.Caption := 'Abrir';
Tabla.Close;
end;
end;
Escriba el método del
botón Cerrar
procedure TForm1.CerrarClick(Sender:
TObject);
begin
Tabla.Close;
Halt(0);
end;
Compile el formulario y ejecute la
aplicación.
Verá como con un mismo control puede abrir y
cerrar la base de datos. Ingrese registros
oprimiendo el botón con el símbolo más (
+ ) del TDBNavigator e inserte los registros en la base de
datos por medio del botón con el símbolo de tilde
( P
)
ZeosDBO
ZeosDBO es un conjunto de componentes creados por
ZeosLib Development Group, de distribución gratuita y posibilitan la
conectividad con distintas bases de datos:
MySQL, PostgresSQL, etc.
Descargue el paquete desde el sitio de ZeosLib e
instálelos en su sistema mediante
los siguientes procedimientos:
- Descomprima el archivo .zip
dentro de la carpeta Archivos de programasBorlandSourceZeos - Copie la DLL correspondiente a su versión de
MySQL que se encuentra en la carpeta Archivos de
programasBorlandSourceZeoslibmysql a la carpeta
WINNTSYSTEM32 o WINDOWSSYSTEM32 - Agregue el directorio
Zeospackagesdelphi7build a la opción Library
Path de Delphi - De la carpeta Zeospackagesdelphi7 compile
ZCore.bpl, ZParseSql.bpl, ZPlain.bpl y ZDbc.bpl - Si los paquetes anteriores se compilan sin problemas,
compile y luego instale ZComponent.bpl. En la IDE
aparecerá una nueva paleta de componentes como en la
siguiente figura:
De izquierda a derecha los componentes son los
siguientes:
ZConnection: Conexión a la Base de
Datos
ZReadOnlyQuery: Igual a TQuery pero de sólo
lectura
ZQuery: Igual a TQuery
ZTable: Igual a TTable
ZUpdateSQL: Componente transaccional
ZStoredProc: Llamadas a procedimientos almacenados
(MySQL 5.0 y superior)
Al contrario de ODBC, Zeos se maneja con una estructura
distinta: todos los procedimientos de lectura/escritura se
realizan a través de una conexión a la base de
datos, ya sea local o en cualquier sitio de una red donde se encuentre
instalado el servidor MySQL
Un formulario ZEOS
De la misma manera que en el ejemplo anterior, inicie un
nuevo proyecto en
Delphi agregando al formulario todos los componentes del ejemplo
ODBC menos la Ttable.
Agregue un Zconnection modificando las siguientes
propiedades:
Database: agenda
HostName: localhost o el nombre del
equipo/dirección IP
User: root (en caso de poner otro nombre de usuario
proveer la clave de acceso en la propiedad Password)
Protocol: la versión del servidor
MySQL
Nota: Si su aplicación correrá en
varias computadoras
de una red debe
colocar en la carpeta System de cada una de ellas el DLL
libmysqlXXX.dll correspondiente a la versión del
servidor
Agregue un ZTable y modifique las siguientes
propiedades:
Connection: ZConnection1
TableName: myagenda
El código del botón que maneja la
apertura/cierre de la base es el siguiente:
procedure TForm1.ControlClick(Sender:
TObject);
begin
If Control.Caption='Abrir' then
begin
Control.Caption := 'Cerrar';
ZConnection1.Connect;
ZTable.Open;
end
Else
begin
Control.Caption := 'Abrir';
ZTable.Close;
ZConnection1.Disconnect;
end;
end;
El cierre del formulario
procedure TForm1.CerrarClick(Sender:
TObject);
begin
ZTable.Close;
ZConnection.Disconnect;
Halt(0);
end;
Conclusión
Estos ejemplos bastan para ilustrar brevemente dos
mecanismos para la conexión y manipulación de datos
utilizando MySQL, tanto en forma local como remota.
El manejo de datos utilizando los componentes xQuery,
tanto para ADO como para Zeos, son similares a el uso de
componentes BDE referido a consultas, maestro-detalle,
etc.
Vaya aquí mi agradecimiento a los integrantes de
la lista IDelphi del Grupo Albor
quienes ayudan permanentemente a solucionar problemas de programación en esta IDE
Bibliografía y recursos
WEB
Dubois, Paul. MySQL. Prentice Hall; Barcelona,
2000
Programming whit Delphi. Ayuda en línea de
la IDE
Sitio de programación dedicado a Delphi (en
inglés):
http://delphi.about.com
Sitio de ZeosLib (en inglés):
http://www.zeoslib.net
Rodolfo Oscar Vallejos
Rosario (Santa Fe) – Argentina
Página anterior | Volver al principio del trabajo | Página siguiente |